\cvsection{总体介绍}
Awesome-CV本身设计非常优秀，但由于语言习惯等差别，其对中文环境的支持和适配需要用户自行调整很多东西，同时其原作者的本意主要是聚焦在构建“简历”模板，鄙人以为，如此漂亮的设计，理应延伸至文章甚至书籍创作领域。在这个层面上，需要更加宏观的对项目中每个部件的细节进行调整，并引入适合文章或书籍创作的功能模块，而且相对于漂亮的设计和丰富的功能，{\LaTeX}过高的使用门槛却一直阻挡在追求严谨排版和高质量输出，却不是特别习惯看似古怪的语法、复杂难记的命令环境和众多宏包的朋友面前，“劝退”很多有志之士踏进{\LaTeX}的神奇世界。

尝试使用ctex宏包对Awesome-CV进行中文环境适配，对相应的部件和元素进行调整，对一些代码上的设计进行改进，并增加一些封装好的开箱即用的实用部件，是{\dk}项目的主要目的，将{\LaTeX}方面的一些知识表述清楚，将维护该项目学习到的一些技巧分享出去，也是我的初衷。

罗嗦这么多，还是赶快让我们进入主题吧。

\cvsubsection{主体结构}
{\dk}的结构大致上分为三个逻辑部分，第一部分是来自Awesome-CV项目的文档类，定义了所生成文件的最重要的内容，第二部分是本项目新增的宏包、扩展内容、资源文件夹以及编译控制文件，第三部分是提供给使用者作为快速开始模板的文件，当然还有一些项目维护所涉及的例如README、LICENSE、Git相关文件等。

下图列举了项目主体结构和主要的文件所在位置，其中来自本项目的所有文本类文件，都有详细的备注和说明信息，如果想要{\color{awesome}快速开始}，不妨按照下图找到这些文件，阅读里面的源代码，寻找自己感兴趣的部分。

\dkresource{resource/r-arch}[0.9]

\begin{dkcomment}
  项目其他子文件夹和一些辅助性的文件，比如LOGO等没有在上图中体现。
\end{dkcomment}

\cvsubsection{快速开始}

如果你是{\LaTeX}资深玩家，或者之前有过使用经验，很有可能已经拥有了一个随时可用的本地环境。确认你已经安装好了合适的{\LaTeX}套件（比如TexLive 2022版本），对应操作系统的GNU Make，Python 3和Pygments库以及所需字体\footnote{如果你是资深玩家，请查阅src/ctex-fontset-custom.def文件并安装好对应字体，否则请首先阅读“编译使用详解”章节的“本地环境准备”部分。}之后，可以使用下面的命令快速体验{\dk}的输出过程和简单用法，如果不确定你的本地环境是否符合要求，请暂时越过本章节，找到“编译使用详解”章节的“本地环境准备”部分跟着说明逐步进行。

\begin{dkcode}*{bash}[打开控制台依次执行]
# 进入项目根目录
cd latex-dukang

# 编译生成你的大作
make

# 编译生成本文档
make doc
\end{dkcode}

整个编译的过程，会输出大量的编译信息和告警内容，如果看到Warning提示，先别着急，在{\LaTeX}的世界里，有众多的叫做“宏包”的贡献者在共同的支撑着你的创作，并不是所有的告警信息都意味着你“哪里做错了”，有些只是“善意的提醒”，比如{\dk}当前版本会有“未找到斜体字形”、“hbox overfull/underfull”等告警，虽然这类告警一定意味着“编译质量不怎么高”，但实际情形并不影响最终的输出结果，这些告警在后续的章节会有详细的说明。

回到上面的命令，如果执行顺利的话，第一个make执行完毕后，都会有类似下面的内容：

\vspace{1em}
\begin{center}
  \dkcodebox*{Latexmk: All targets (src/main.xdv src/main.pdf) are up-to-date}
\end{center}
\vspace{1em}

这说明main.tex文件已经成功被编译输出到了main.pdf，可以打开这个PDF文件看看实际的效果。第二个make是用来生成{\dk}文档（也就是本文）的，也跑一跑编译吧，确保你看到下面的提示信息。

\vspace{1em}
\begin{center}
  \dkcodebox*{Latexmk: All targets (src/dukang-doc.xdv src/dukang-doc.pdf) are up-to-date}
\end{center}
\vspace{1em}

如果顺利编译完成，你会在\dkbutton{./src/}文件夹中看到main.pdf和dukang-doc.pdf两个文件，这说明你已经可以正常使用{\dk}进行创作了。

如果，你碰到了光标停在一个问号后面，画面信息不再滚动的情形，那直接就是“错误”而不是“告警”了，这时候需要你向上查看具体哪里出了问题，或者输入大写的“X”并回车退出编译过程。这时候一般是没有main.pdf或dukang-doc.pdf输出的，请仔细检查输出日志中的错误提示，尝试着解决问题，并在\dkcodebox*{make cleanall}清理完所有临时文件之后再次尝试make。


\clearpage
